<?php
/**
 * Controller de Alertas.
 *
 *
 * @filesource          
 * @copyright		
 * @link		http://www.pragmatia.com Pragmatia
 * @package		datagro
 * @subpackage	app.controllers
 * @version     1.1
 * @license		http://www.opensource.org/licenses/mit-license.php The MIT License
 * @author      Martin Radosta <mradosta@pragmatia.com>
 */

/**
 * Clase AlertasController
 *
 * @package	    datagro
 * @subpackage	app.controllers
 */

class  AlertasController extends AppController
{
    var $name = 'Alertas';
	var $uses = array("Alerta", "Etiqueta", "Dominio", "Parametro");

/**
 * Exportar.
 *
 */
	function exportar() 
	{
		
		if($this->Session->check('Sim')) {
			$sim = $this->Session->read('Sim');
			$this->data['Filtro']['Alerta-sim_id'] = $sim['Sim']['id'];
		}
		else {
			$this->Session->setFlash('Debe seleccionar un Modulo antes de continuar.', 'error');
			$this->redirect("../sims/seleccionar", null, true);
		}
		
		$this->Alerta->recursive = 2;
		
		$this->set('tipos_notificaciones', $this->Dominio->generateList(array("nombre"=>"tipo_notificacion"), null, null, null, "{n}.Dominio.valor"));	
		$this->set('registros', $this->Alerta->findAll());
		$this->layout = "excel";
	}
		
/**
 * Index.
 *
 */
    function index()
    {
		if($this->Session->check('Sim')) {
			$sim = $this->Session->read('Sim');
			$this->data['Filtro']['Alerta-sim_id'] = $sim['Sim']['id'];
		}
		else {
			$this->Session->setFlash('Debe seleccionar un Modulo antes de continuar.', 'error');
			$this->redirect("../sims/seleccionar", null, true);
		}
	
		if(!empty($this->data))
		{
			$condicion = $this->Filtro->generarCondicion($this->data['Filtro']);
			$this->paginate['conditions'] = $condicion;
		}
		$this->Alerta->recursive = 2;

		$this->set('tipo', $sim['Equipo']['tipo']);
		$this->set('registros', $this->paginate());
    }

/**
 * Destinos.
 *
 */
   function destinos($id = false)
   {
        if ($id && is_numeric($id))
        {
        	$this->Alerta->expects("AlertasNotificacion");
            $this->set("registros", $this->Alerta->read(null, $id));
            $this->set('tipos_notificaciones', $this->Dominio->generateList(array("nombre"=>"tipo_notificacion"), null, null, null, "{n}.Dominio.valor"));	
        }
   }  

/**
 * View.
 *
 */
   function view($id = false) 
   {
        if ($id && is_numeric($id))
        {
			if($this->Session->check('Sim')) {
				$sim = $this->Session->read('Sim');
				$this->data['Filtro']['Alerta-sim_id'] = $sim['Sim']['id'];
			}
			else {
				$this->Session->setFlash('Debe seleccionar un Modulo antes de continuar.', 'error');
				$this->redirect("../sims/seleccionar", null, true);
			}

			//monitor
        	if($sim['Equipo']['tipo'] == 35) {
        		//$this->set('etiquetas', $this->Parametro->generateList(null, null, null, null, "{n}.Parametro.nombre"));
				$parametros = $this->Parametro->findAll();
				foreach($parametros as $k=>$v) {
					$tmpE[$v['Parametro']['id']] = $v['Parametro']['nombre'];
				}
				$this->set('etiquetas', $tmpE);
        	}
        	else {
				$this->set('etiquetas', $this->Etiqueta->generateList(null, null, null, null, "{n}.Etiqueta.nombre"));
			}
			$this->set("tipo_equipo", $sim['Equipo']['tipo']);
            $this->data = $this->Alerta->read(null, $id);
        }    
   }  
}
?>
